#include <iostream>

#include "Jeu.h"
#include "Dimension.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <time.h>

using namespace std;

void AffichageCoffre(const Jeu* Niveau)
{
    int i = 0, j = 0;
    cout<<"Nombre coffre:"<<Niveau->nb_Coffre<<endl;
    for (i = 0; i < Niveau->nb_Coffre ; i++)
    {
        cout<<"Nombre Objet:"<<getNombreObjet(&Niveau->tabCoffre[i])<<endl;
        cout<<"Type : "<<traductionTypeCoffreInverse(traductionTypeCoffre(getTypeCoff(&Niveau->tabCoffre[i])))<<endl;
        for (j = 0; j < 20; j++)
        {
            cout<<getNom(&Niveau->tabCoffre[i].objetCoffre[j])<<endl;
        }
        cout<<endl;
    }
}

void AffichageHero(const Jeu* Niveau)
{
    cout<<"Nom : "<<Niveau->heros.nom<<endl;
    cout<<"Niveau : "<<Niveau->heros.caract[NIVEAU]<<endl;
    cout<<"Caracteristique :"<<endl;
    cout<<"Vie : "<<Niveau->heros.caract[VIE]<<endl;
    cout<<"Mana : "<<Niveau->heros.caract[MANA]<<endl;
    cout<<"Arme : "<<Niveau->heros.inventaire[ARME].nom<<endl<<endl;
}

void AfficherCoord(const Personnage *Pers)
{
    cout<<"X = "<<getPosX(getPosition(Pers))<<" , Y = "<<getPosY(getPosition(Pers))<<endl;
}

void AffichageTabPers(const Jeu* Niveau)
{
    cout<<"Nombre Personnages : "<<Niveau->nb_Pers<<endl<<endl;
    for(int i = 0 ; i < Niveau->nb_Pers ; i++)
    {
        cout<<"Nom: "<<Niveau->tabPers[i].nom<<endl;
        cout<<"Caracteristique :"<<endl;
        cout<<"Vie : "<<Niveau->tabPers[i].caract[VIE]<<endl;
        cout<<"Epee :"<<Niveau->tabPers[i].inventaire[ARME].nom;
        cout<<endl<<endl;
    }
}

void AffichageTabObjet(const Jeu* Niveau)
{
    cout<<"Nombre d'objet : "<<Niveau->nb_Objet<<endl<<endl;
    for(int i = 0 ; i < Niveau->nb_Objet ; i++)
    {
        cout << "Type de l'objet : "<< traductionTypeObjetInverse(getTypeObjet(&Niveau->tabObj[i])) << endl;
        cout << "Nom de l'objet : " << getNom(&Niveau->tabObj[i]) << endl;
        cout << "Degats : " << getDegats(&Niveau->tabObj[i]) <<endl;
        cout << "Armure : " << getArmure(&Niveau->tabObj[i]) <<endl;
        cout << "Prix : " << getPrix(&Niveau->tabObj[i]) <<endl ,
             cout <<  "Niveau : " << getNiveau(&Niveau->tabObj[i]) <<endl;
        cout << "Portee : " << getPortee(&Niveau->tabObj[i]) << endl;
        if (getTypeBonus(getBonus(&Niveau->tabObj[i])) != AUCUN)
        {
            cout << "Type de Bonus : "<<traductionTypeInverse(getTypeBonus(getBonus(&Niveau->tabObj[i]))) << endl;
            cout <<"Valeur du Bonus : "<<getValeurBonus(getBonus(&Niveau->tabObj[i])) <<endl;
        }
        if (getTypeRest(getRestauration(&Niveau->tabObj[i])) != AUCUN)
        {
            cout << "Type de Restauration : "<< traductionTypeInverse(getTypeRest(getRestauration(&Niveau->tabObj[i]))) << endl;
            cout <<"Valeur de la Restauration : "<< getValeurRest(getRestauration(&Niveau->tabObj[i])) << endl;
        }
        cout <<endl;

    }
}
